package com.example.jspwork.utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

//最重要的，数据库连接工具类，template的使用前奏。
public class JDBCUtils {
    private static DataSource ds;



    static {



            // 加载配置文件 druid.properties
        try {
            Properties pro = new Properties();
            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");

            pro.load(is);
            // 获取连接池对象
            ds = DruidDataSourceFactory.createDataSource(pro);


        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }


    }
    /**
     * 获取连接池对象
     */
    public  static DataSource getDataSouce(){
        return ds;
    }


    /**
     *  从连接池中获取一个数据库的连接
     */
//    你可以发现，如果不写throws SQLException，这个抛出异常，就会报错
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }




}